using System;

namespace NFreeMarker.Log
{
    /**
     * @version $Id: NullLoggerFactory.java,v 1.9 2003/01/27 20:36:45 szegedia Exp $
     * @author Attila Szegedi
     */
    internal class NullLoggerFactory : ILoggerFactory
    {        
        public Logger GetLogger(string category)
        {
            return Instance;
        }

        private static readonly Logger Instance = new NullLoggerImpl();

        private class NullLoggerImpl : Logger
        {
            public override void Debug(string message)
            {
            }

            public override void Debug(string message, Exception e)
            {
            }

            public override void Error(string message)
            {
            }

            public override void Error(string message, Exception e)
            {
            }

            public override void Info(string message)
            {
            }

            public override void Info(string message, Exception e)
            {
            }

            public override void Warn(string message)
            {
            }

            public override void Warn(string message, Exception e)
            {
            }

            public override bool IsDebugEnabled()
            {
                return false;
            }

            public override bool IsInfoEnabled()
            {
                return false;
            }

            public override bool IsWarnEnabled()
            {
                return false;
            }

            public override bool IsErrorEnabled()
            {
                return false;
            }

            public override bool IsFatalEnabled()
            {
                return false;
            }            
        }
    }
}